[INFO] fetching crate divans 0.0.1...
[INFO] building divans-0.0.1 against master#ff34b919075f35a1787659e9c448a34b06bab8de for issue-85264
[INFO] extracting crate divans 0.0.1 into /workspace/builds/worker-7/source
[INFO] validating manifest of crates.io crate divans 0.0.1 on toolchain ff34b919075f35a1787659e9c448a34b06bab8de
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate divans 0.0.1
[INFO] finished tweaking crates.io crate divans 0.0.1
[INFO] tweaked toml for crates.io crate divans 0.0.1 written to /workspace/builds/worker-7/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 80dbd1282209edfc83b1b980c90aea5958112c4236c6b8db54c789dc72a3e0c0
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "80dbd1282209edfc83b1b980c90aea5958112c4236c6b8db54c789dc72a3e0c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "80dbd1282209edfc83b1b980c90aea5958112c4236c6b8db54c789dc72a3e0c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "80dbd1282209edfc83b1b980c90aea5958112c4236c6b8db54c789dc72a3e0c0", kill_on_drop: false }`
[INFO] [stdout] 80dbd1282209edfc83b1b980c90aea5958112c4236c6b8db54c789dc72a3e0c0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 05df4a6a6040f33871a87cfd725433816c5ca4af53c18a7e96c784f57aaef27a
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "05df4a6a6040f33871a87cfd725433816c5ca4af53c18a7e96c784f57aaef27a", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.95
[INFO] [stderr]    Compiling alloc-no-stdlib v1.3.0
[INFO] [stderr]    Compiling brotli-decompressor v1.3.1
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling brotli v2.5.1
[INFO] [stderr]    Compiling vergen v0.1.1
[INFO] [stderr]    Compiling divans v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/arithmetic_coder.rs:25:29
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn push_data(&mut self, &[u8]) -> usize;
[INFO] [stdout]    |                             ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &[u8]`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/arithmetic_coder.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn pop_data(&mut self, &mut [u8]) -> usize;
[INFO] [stdout]    |                            ^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut [u8]`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/codec/interface.rs:87:68
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn get_source_copy_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a CopyCommand) -> &'a CopyCommand;
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a Command<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/codec/interface.rs:87:89
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn get_source_copy_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a CopyCommand) -> &'a CopyCommand;
[INFO] [stdout]    |                                                                                         ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a CopyCommand`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/codec/interface.rs:88:79
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn get_source_literal_command<'a, ISlice:SliceWrapper<u8>+Default>(&self, &'a Command<ISlice>,
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a Command<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/codec/interface.rs:89:72
[INFO] [stdout]    |
[INFO] [stdout] 89 | ...                   &'a LiteralCommand<ISlice>) -> &'a LiteralCommand<ISlice>;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a LiteralCommand<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/codec/interface.rs:90:68
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn get_source_dict_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a DictCommand) -> &'a DictCommand;
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a Command<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/codec/interface.rs:90:89
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn get_source_dict_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a DictCommand) -> &'a DictCommand;
[INFO] [stdout]    |                                                                                         ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a DictCommand`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/ans.rs:139:24
[INFO] [stdout]     |
[INFO] [stdout] 139 | const SCALE_MASK:u64 = ((1u64 << LOG2_SCALE) - 1);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reader.rs:24:32
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn cause(&self) -> Option<&error::Error> {None}
[INFO] [stdout]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 258 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:266:5
[INFO] [stdout]     |
[INFO] [stdout] 266 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:268:5
[INFO] [stdout]     |
[INFO] [stdout] 268 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:272:5
[INFO] [stdout]     |
[INFO] [stdout] 272 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:274:5
[INFO] [stdout]     |
[INFO] [stdout] 274 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 276 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:278:5
[INFO] [stdout]     |
[INFO] [stdout] 278 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:280:5
[INFO] [stdout]     |
[INFO] [stdout] 280 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:282:5
[INFO] [stdout]     |
[INFO] [stdout] 282 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 284 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:288:5
[INFO] [stdout]     |
[INFO] [stdout] 288 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:368:5
[INFO] [stdout]     |
[INFO] [stdout] 368 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:386:5
[INFO] [stdout]     |
[INFO] [stdout] 386 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:390:5
[INFO] [stdout]     |
[INFO] [stdout] 390 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:393:5
[INFO] [stdout]     |
[INFO] [stdout] 393 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:405:5
[INFO] [stdout]     |
[INFO] [stdout] 405 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]  --> src/ffi/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[no_mangle]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 4 | use core;
[INFO] [stdout]   | --------- not a function or static
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]  --> src/ffi/interface.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[no_mangle]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 8 | pub type DivansReturnCode = u8;
[INFO] [stdout]   | ------------------------------- not a function or static
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]   --> src/ffi/interface.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 42 |   #[derive(Clone)]
[INFO] [stdout] 43 | / pub struct CAllocator {
[INFO] [stdout] 44 | |     pub alloc_func: Option<extern "C" fn(data: *mut c_void, size: usize) -> *mut c_void>,
[INFO] [stdout] 45 | |     pub free_func: Option<extern "C" fn(data: *mut c_void, ptr: *mut c_void) -> ()>,
[INFO] [stdout] 46 | |     pub opaque: *mut c_void,
[INFO] [stdout] 47 | | }
[INFO] [stdout]    | |_- not a function or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]    --> src/ffi/compressor.rs:267:1
[INFO] [stdout]     |
[INFO] [stdout] 267 |   #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^^^^
[INFO] [stdout] 268 | / pub struct DivansCompressorState {
[INFO] [stdout] 269 | |     pub custom_allocator: CAllocator,
[INFO] [stdout] 270 | |     pub compressor: CompressorState
[INFO] [stdout] 271 | | }
[INFO] [stdout]     | |_- not a function or static
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]   --> src/ffi/decompressor.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout] 9  |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 10 | / pub struct DivansDecompressorState {
[INFO] [stdout] 11 | |     pub custom_allocator: CAllocator,
[INFO] [stdout] 12 | |     pub decompressor: ::DivansDecompressor<<DecompressorFactory as ::DivansDecompressorFactory<SubclassableAllocator<u8>,  SubclassableAl...
[INFO] [stdout] 13 | |                                            SubclassableAllocator<u8>,
[INFO] [stdout] 14 | |                                            SubclassableAllocator<::DefaultCDF16>,
[INFO] [stdout] 15 | |                                            SubclassableAllocator<StaticCommand>>,
[INFO] [stdout] 16 | | }
[INFO] [stdout]    | |_- not a function or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/copy.rs:91:25
[INFO] [stdout]    |
[INFO] [stdout] 91 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:112:25
[INFO] [stdout]     |
[INFO] [stdout] 112 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:145:25
[INFO] [stdout]     |
[INFO] [stdout] 145 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:175:29
[INFO] [stdout]     |
[INFO] [stdout] 175 |                         let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                             ----^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:204:25
[INFO] [stdout]     |
[INFO] [stdout] 204 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:231:25
[INFO] [stdout]     |
[INFO] [stdout] 231 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:250:33
[INFO] [stdout]     |
[INFO] [stdout] 250 | ...                   let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                           ----^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/dict.rs:84:25
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::SizeBegNib, (ctype,));
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:100:25
[INFO] [stdout]     |
[INFO] [stdout] 100 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::SizeLastNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:119:25
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     let mut nibble_prob = superstate.bk.dict_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:139:25
[INFO] [stdout]     |
[INFO] [stdout] 139 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::Transform,
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:150:25
[INFO] [stdout]     |
[INFO] [stdout] 150 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::Transform,
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:294:16
[INFO] [stdout]     |
[INFO] [stdout] 294 |            let mut byte_to_encode_val = specialization.get_literal_byte(in_cmd,
[INFO] [stdout]     |                ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:572:25
[INFO] [stdout]     |
[INFO] [stdout] 572 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:600:25
[INFO] [stdout]     |
[INFO] [stdout] 600 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(LiteralCommandPriorType::SizeBegNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:625:25
[INFO] [stdout]     |
[INFO] [stdout] 625 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(LiteralCommandPriorType::SizeLastNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:640:25
[INFO] [stdout]     |
[INFO] [stdout] 640 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(LiteralCommandPriorType::SizeMantissaNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:707:30
[INFO] [stdout]     |
[INFO] [stdout] 707 |                         Some(mut lc) => {
[INFO] [stdout]     |                              ----^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:174:28
[INFO] [stdout]     |
[INFO] [stdout] 174 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::Only, (0,));
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:195:28
[INFO] [stdout]     |
[INFO] [stdout] 195 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:211:28
[INFO] [stdout]     |
[INFO] [stdout] 211 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:235:24
[INFO] [stdout]     |
[INFO] [stdout] 235 |                    let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::ContextMapSpeedPalette,
[INFO] [stdout]     |                        ----^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:291:28
[INFO] [stdout]     |
[INFO] [stdout] 291 | ...   let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::Mnemonic, (context_map_type as usize,));
[INFO] [stdout]     |           ----^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:320:28
[INFO] [stdout]     |
[INFO] [stdout] 320 |                        let mut out_context_map = match context_map_type {
[INFO] [stdout]     |                            ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:343:24
[INFO] [stdout]     |
[INFO] [stdout] 343 | ...   let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::FirstNibble, (context_map_type as usize,));
[INFO] [stdout]     |           ----^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:363:28
[INFO] [stdout]     |
[INFO] [stdout] 363 | ...   let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::SecondNibble, (context_map_type as usize,));
[INFO] [stdout]     |           ----^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:371:24
[INFO] [stdout]     |
[INFO] [stdout] 371 |                    let mut out_context_map = match context_map_type {
[INFO] [stdout]     |                        ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:395:24
[INFO] [stdout]     |
[INFO] [stdout] 395 |                    let mut prior = if index >= 256 && self.pm.has_context_speeds() {
[INFO] [stdout]     |                        ----^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:401:28
[INFO] [stdout]     |
[INFO] [stdout] 401 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/block_type.rs:72:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::Mnemonic,
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/block_type.rs:88:25
[INFO] [stdout]    |
[INFO] [stdout] 88 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::FirstNibble,
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/block_type.rs:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::SecondNibble,
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/block_type.rs:181:25
[INFO] [stdout]     |
[INFO] [stdout] 181 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::StrideNibble,
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ir_optimize/mod.rs:198:21
[INFO] [stdout]     |
[INFO] [stdout] 198 |                 let mut should_merge = match should_merge(lit, copy, index, mb, &mut actuary, &mut distance_cache) {
[INFO] [stdout]     |                     ----^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mux.rs:463:20
[INFO] [stdout]     |
[INFO] [stdout] 463 |                let mut is_lagging = max_flush  > MAX_FLUSH_VARIANCE + self.last_flush[index];
[INFO] [stdout]     |                    ----^^^^^^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/brotli_ir_gen.rs:131:16
[INFO] [stdout]     |
[INFO] [stdout] 131 |         panic!(m)
[INFO] [stdout]     |                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 131 |         panic!("{}", m)
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 131 |         std::panic::panic_any(m)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/divans_decompressor.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 282 | /         core::mem::replace(self,
[INFO] [stdout] 283 | |                            DivansDecompressor::Decode(
[INFO] [stdout] 284 | |                                DivansProcess::<DefaultDecoder, AllocU8, AllocCDF16, AllocCommand> {
[INFO] [stdout] 285 | |                                    codec:Some(codec),
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |                                    mcommand:mcommand,
[INFO] [stdout] 289 | |                                }));
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ir_optimize/mod.rs:205:21
[INFO] [stdout]     |
[INFO] [stdout] 205 |                     core::mem::replace(copy, CopyCommand::nop());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ir_optimize/mod.rs:219:21
[INFO] [stdout]     |
[INFO] [stdout] 219 |                     core::mem::replace(&mut item_a[0], Command::Copy(CopyCommand::nop())); // replace with a copy
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ffi/compressor.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 | /                 core::mem::replace(self,
[INFO] [stdout] 177 | |                                    CompressorState::InternalCompressor(
[INFO] [stdout] 178 | |                                        InternalCompressorFactory::new(
[INFO] [stdout] 179 | |                                            SubclassableAllocator::<u8>::new(allocators.clone()),
[INFO] [stdout] ...   |
[INFO] [stdout] 182 | |                                            opts,
[INFO] [stdout] 183 | |                                            ())));
[INFO] [stdout]     | |_________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ffi/compressor.rs:186:17
[INFO] [stdout]     |
[INFO] [stdout] 186 | /                 core::mem::replace(self,
[INFO] [stdout] 187 | |                                    CompressorState::BrotliCompressor(
[INFO] [stdout] 188 | |                                        BrotliFactory::new(
[INFO] [stdout] 189 | |                                            SubclassableAllocator::<u8>::new(allocators.clone()),
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | |                                                SubclassableAllocator::<brotli::enc::StaticCommand>::new(allocators.clone()),
[INFO] [stdout] 210 | |                                            ))));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 89 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bin/divans.rs:103:32
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn cause(&self) -> Option<&error::Error> {None}
[INFO] [stdout]     |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/divans.rs:455:20
[INFO] [stdout]     |
[INFO] [stdout] 455 |         let data = try!(util::literal_slice_to_vec(&s.as_bytes()[command_vec[0].len() + command_vec[1].len() + 2..]));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/divans.rs:457:24
[INFO] [stdout]     |
[INFO] [stdout] 457 |             let prob = try!(util::hex_slice_to_vec(command_vec[3].as_bytes()));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/divans.rs:659:21
[INFO] [stdout]     |
[INFO] [stdout] 659 |                     try!(recode_cmd_buffer(&mut state, ibuffer.split_at(i_read_index).0, w,
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/divans.rs:671:23
[INFO] [stdout]     |
[INFO] [stdout] 671 |                 match try!(command_parse(&line)) {
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bin/divans.rs:718:63
[INFO] [stdout]     |
[INFO] [stdout] 718 | ...                   free_state: &mut Fn(Compressor)->ItemVecAllocator<u8>) -> io::Result<()> {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Compressor)->ItemVecAllocator<u8>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/divans.rs:956:31
[INFO] [stdout]     |
[INFO] [stdout] 956 |                 window_size = try!(window_parse(&line));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/bin/divans.rs:1013:46
[INFO] [stdout]      |
[INFO] [stdout] 1013 |     let mut obuffer = vec![0u8; buffer_size];;
[INFO] [stdout]      |                                              ^ help: remove this semicolon
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:169:43
[INFO] [stdout]     |
[INFO] [stdout] 169 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:329:47
[INFO] [stdout]     |
[INFO] [stdout] 329 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:350:60
[INFO] [stdout]     |
[INFO] [stdout] 350 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:366:47
[INFO] [stdout]     |
[INFO] [stdout] 366 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:377:47
[INFO] [stdout]     |
[INFO] [stdout] 377 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:393:47
[INFO] [stdout]     |
[INFO] [stdout] 393 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:409:47
[INFO] [stdout]     |
[INFO] [stdout] 409 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:416:47
[INFO] [stdout]     |
[INFO] [stdout] 416 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:425:55
[INFO] [stdout]     |
[INFO] [stdout] 425 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:449:51
[INFO] [stdout]     |
[INFO] [stdout] 449 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 18 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 59.81s
[INFO] running `Command { std: "docker" "inspect" "05df4a6a6040f33871a87cfd725433816c5ca4af53c18a7e96c784f57aaef27a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "05df4a6a6040f33871a87cfd725433816c5ca4af53c18a7e96c784f57aaef27a", kill_on_drop: false }`
[INFO] [stdout] 05df4a6a6040f33871a87cfd725433816c5ca4af53c18a7e96c784f57aaef27a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 84b90e1f1407d80654e2bd579876abe75f945e73d4f1e49eee428141ea643a8d
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "84b90e1f1407d80654e2bd579876abe75f945e73d4f1e49eee428141ea643a8d", kill_on_drop: false }`
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/arithmetic_coder.rs:25:29
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn push_data(&mut self, &[u8]) -> usize;
[INFO] [stdout]    |                             ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &[u8]`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/arithmetic_coder.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn pop_data(&mut self, &mut [u8]) -> usize;
[INFO] [stdout]    |                            ^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut [u8]`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/codec/interface.rs:87:68
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn get_source_copy_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a CopyCommand) -> &'a CopyCommand;
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a Command<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/codec/interface.rs:87:89
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn get_source_copy_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a CopyCommand) -> &'a CopyCommand;
[INFO] [stdout]    |                                                                                         ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a CopyCommand`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/codec/interface.rs:88:79
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn get_source_literal_command<'a, ISlice:SliceWrapper<u8>+Default>(&self, &'a Command<ISlice>,
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a Command<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/codec/interface.rs:89:72
[INFO] [stdout]    |
[INFO] [stdout] 89 | ...                   &'a LiteralCommand<ISlice>) -> &'a LiteralCommand<ISlice>;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a LiteralCommand<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/codec/interface.rs:90:68
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn get_source_dict_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a DictCommand) -> &'a DictCommand;
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a Command<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/codec/interface.rs:90:89
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn get_source_dict_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a DictCommand) -> &'a DictCommand;
[INFO] [stdout]    |                                                                                         ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a DictCommand`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/ans.rs:139:24
[INFO] [stdout]     |
[INFO] [stdout] 139 | const SCALE_MASK:u64 = ((1u64 << LOG2_SCALE) - 1);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reader.rs:24:32
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn cause(&self) -> Option<&error::Error> {None}
[INFO] [stdout]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 258 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:266:5
[INFO] [stdout]     |
[INFO] [stdout] 266 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:268:5
[INFO] [stdout]     |
[INFO] [stdout] 268 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:272:5
[INFO] [stdout]     |
[INFO] [stdout] 272 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:274:5
[INFO] [stdout]     |
[INFO] [stdout] 274 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 276 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:278:5
[INFO] [stdout]     |
[INFO] [stdout] 278 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:280:5
[INFO] [stdout]     |
[INFO] [stdout] 280 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:282:5
[INFO] [stdout]     |
[INFO] [stdout] 282 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 284 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:288:5
[INFO] [stdout]     |
[INFO] [stdout] 288 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:368:5
[INFO] [stdout]     |
[INFO] [stdout] 368 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:386:5
[INFO] [stdout]     |
[INFO] [stdout] 386 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:390:5
[INFO] [stdout]     |
[INFO] [stdout] 390 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:393:5
[INFO] [stdout]     |
[INFO] [stdout] 393 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:405:5
[INFO] [stdout]     |
[INFO] [stdout] 405 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]  --> src/ffi/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[no_mangle]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 4 | use core;
[INFO] [stdout]   | --------- not a function or static
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]  --> src/ffi/interface.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[no_mangle]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 8 | pub type DivansReturnCode = u8;
[INFO] [stdout]   | ------------------------------- not a function or static
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]   --> src/ffi/interface.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 42 |   #[derive(Clone)]
[INFO] [stdout] 43 | / pub struct CAllocator {
[INFO] [stdout] 44 | |     pub alloc_func: Option<extern "C" fn(data: *mut c_void, size: usize) -> *mut c_void>,
[INFO] [stdout] 45 | |     pub free_func: Option<extern "C" fn(data: *mut c_void, ptr: *mut c_void) -> ()>,
[INFO] [stdout] 46 | |     pub opaque: *mut c_void,
[INFO] [stdout] 47 | | }
[INFO] [stdout]    | |_- not a function or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]    --> src/ffi/compressor.rs:267:1
[INFO] [stdout]     |
[INFO] [stdout] 267 |   #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^^^^
[INFO] [stdout] 268 | / pub struct DivansCompressorState {
[INFO] [stdout] 269 | |     pub custom_allocator: CAllocator,
[INFO] [stdout] 270 | |     pub compressor: CompressorState
[INFO] [stdout] 271 | | }
[INFO] [stdout]     | |_- not a function or static
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]   --> src/ffi/decompressor.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout] 9  |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 10 | / pub struct DivansDecompressorState {
[INFO] [stdout] 11 | |     pub custom_allocator: CAllocator,
[INFO] [stdout] 12 | |     pub decompressor: ::DivansDecompressor<<DecompressorFactory as ::DivansDecompressorFactory<SubclassableAllocator<u8>,  SubclassableAl...
[INFO] [stdout] 13 | |                                            SubclassableAllocator<u8>,
[INFO] [stdout] 14 | |                                            SubclassableAllocator<::DefaultCDF16>,
[INFO] [stdout] 15 | |                                            SubclassableAllocator<StaticCommand>>,
[INFO] [stdout] 16 | | }
[INFO] [stdout]    | |_- not a function or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/copy.rs:91:25
[INFO] [stdout]    |
[INFO] [stdout] 91 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:112:25
[INFO] [stdout]     |
[INFO] [stdout] 112 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:145:25
[INFO] [stdout]     |
[INFO] [stdout] 145 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:175:29
[INFO] [stdout]     |
[INFO] [stdout] 175 |                         let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                             ----^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:204:25
[INFO] [stdout]     |
[INFO] [stdout] 204 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:231:25
[INFO] [stdout]     |
[INFO] [stdout] 231 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:250:33
[INFO] [stdout]     |
[INFO] [stdout] 250 | ...                   let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                           ----^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/dict.rs:84:25
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::SizeBegNib, (ctype,));
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:100:25
[INFO] [stdout]     |
[INFO] [stdout] 100 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::SizeLastNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:119:25
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     let mut nibble_prob = superstate.bk.dict_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:139:25
[INFO] [stdout]     |
[INFO] [stdout] 139 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::Transform,
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:150:25
[INFO] [stdout]     |
[INFO] [stdout] 150 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::Transform,
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:294:16
[INFO] [stdout]     |
[INFO] [stdout] 294 |            let mut byte_to_encode_val = specialization.get_literal_byte(in_cmd,
[INFO] [stdout]     |                ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:572:25
[INFO] [stdout]     |
[INFO] [stdout] 572 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:600:25
[INFO] [stdout]     |
[INFO] [stdout] 600 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(LiteralCommandPriorType::SizeBegNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:625:25
[INFO] [stdout]     |
[INFO] [stdout] 625 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(LiteralCommandPriorType::SizeLastNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:640:25
[INFO] [stdout]     |
[INFO] [stdout] 640 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(LiteralCommandPriorType::SizeMantissaNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:707:30
[INFO] [stdout]     |
[INFO] [stdout] 707 |                         Some(mut lc) => {
[INFO] [stdout]     |                              ----^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:174:28
[INFO] [stdout]     |
[INFO] [stdout] 174 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::Only, (0,));
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:195:28
[INFO] [stdout]     |
[INFO] [stdout] 195 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:211:28
[INFO] [stdout]     |
[INFO] [stdout] 211 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:235:24
[INFO] [stdout]     |
[INFO] [stdout] 235 |                    let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::ContextMapSpeedPalette,
[INFO] [stdout]     |                        ----^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:291:28
[INFO] [stdout]     |
[INFO] [stdout] 291 | ...   let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::Mnemonic, (context_map_type as usize,));
[INFO] [stdout]     |           ----^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:320:28
[INFO] [stdout]     |
[INFO] [stdout] 320 |                        let mut out_context_map = match context_map_type {
[INFO] [stdout]     |                            ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:343:24
[INFO] [stdout]     |
[INFO] [stdout] 343 | ...   let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::FirstNibble, (context_map_type as usize,));
[INFO] [stdout]     |           ----^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:363:28
[INFO] [stdout]     |
[INFO] [stdout] 363 | ...   let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::SecondNibble, (context_map_type as usize,));
[INFO] [stdout]     |           ----^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:371:24
[INFO] [stdout]     |
[INFO] [stdout] 371 |                    let mut out_context_map = match context_map_type {
[INFO] [stdout]     |                        ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:395:24
[INFO] [stdout]     |
[INFO] [stdout] 395 |                    let mut prior = if index >= 256 && self.pm.has_context_speeds() {
[INFO] [stdout]     |                        ----^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:401:28
[INFO] [stdout]     |
[INFO] [stdout] 401 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/block_type.rs:72:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::Mnemonic,
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/block_type.rs:88:25
[INFO] [stdout]    |
[INFO] [stdout] 88 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::FirstNibble,
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/block_type.rs:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::SecondNibble,
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/block_type.rs:181:25
[INFO] [stdout]     |
[INFO] [stdout] 181 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::StrideNibble,
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ir_optimize/mod.rs:198:21
[INFO] [stdout]     |
[INFO] [stdout] 198 |                 let mut should_merge = match should_merge(lit, copy, index, mb, &mut actuary, &mut distance_cache) {
[INFO] [stdout]     |                     ----^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mux.rs:463:20
[INFO] [stdout]     |
[INFO] [stdout] 463 |                let mut is_lagging = max_flush  > MAX_FLUSH_VARIANCE + self.last_flush[index];
[INFO] [stdout]     |                    ----^^^^^^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/brotli_ir_gen.rs:131:16
[INFO] [stdout]     |
[INFO] [stdout] 131 |         panic!(m)
[INFO] [stdout]     |                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 131 |         panic!("{}", m)
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 131 |         std::panic::panic_any(m)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/divans_decompressor.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 282 | /         core::mem::replace(self,
[INFO] [stdout] 283 | |                            DivansDecompressor::Decode(
[INFO] [stdout] 284 | |                                DivansProcess::<DefaultDecoder, AllocU8, AllocCDF16, AllocCommand> {
[INFO] [stdout] 285 | |                                    codec:Some(codec),
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |                                    mcommand:mcommand,
[INFO] [stdout] 289 | |                                }));
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ir_optimize/mod.rs:205:21
[INFO] [stdout]     |
[INFO] [stdout] 205 |                     core::mem::replace(copy, CopyCommand::nop());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ir_optimize/mod.rs:219:21
[INFO] [stdout]     |
[INFO] [stdout] 219 |                     core::mem::replace(&mut item_a[0], Command::Copy(CopyCommand::nop())); // replace with a copy
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ffi/compressor.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 | /                 core::mem::replace(self,
[INFO] [stdout] 177 | |                                    CompressorState::InternalCompressor(
[INFO] [stdout] 178 | |                                        InternalCompressorFactory::new(
[INFO] [stdout] 179 | |                                            SubclassableAllocator::<u8>::new(allocators.clone()),
[INFO] [stdout] ...   |
[INFO] [stdout] 182 | |                                            opts,
[INFO] [stdout] 183 | |                                            ())));
[INFO] [stdout]     | |_________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ffi/compressor.rs:186:17
[INFO] [stdout]     |
[INFO] [stdout] 186 | /                 core::mem::replace(self,
[INFO] [stdout] 187 | |                                    CompressorState::BrotliCompressor(
[INFO] [stdout] 188 | |                                        BrotliFactory::new(
[INFO] [stdout] 189 | |                                            SubclassableAllocator::<u8>::new(allocators.clone()),
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | |                                                SubclassableAllocator::<brotli::enc::StaticCommand>::new(allocators.clone()),
[INFO] [stdout] 210 | |                                            ))));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 89 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling divans v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/util_prior_stream_cost.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let mut prior_val: Vec<String> = if let Some(_) = line.find(",") {
[INFO] [stdout]    |                     ----^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/util_prior_stream_cost.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 let mut prior_stream = &mut sub_streams.entry(prior).or_insert(vec::Vec::<u8>::new());
[INFO] [stdout]    |                     ----^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> examples/decompress.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 |                     panic!(e);
[INFO] [stdout]    |                            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]    |
[INFO] [stdout] 25 |                     panic!("{}", e);
[INFO] [stdout]    |                            ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 25 |                     std::panic::panic_any(e);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> examples/decompress.rs:32:42
[INFO] [stdout]    |
[INFO] [stdout] 32 |                         Err(e) => panic!(e),
[INFO] [stdout]    |                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]    |
[INFO] [stdout] 32 |                         Err(e) => panic!("{}", e),
[INFO] [stdout]    |                                          ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 32 |                         Err(e) => std::panic::panic_any(e),
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> examples/compress.rs:42:28
[INFO] [stdout]    |
[INFO] [stdout] 42 |                     panic!(e);
[INFO] [stdout]    |                            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]    |
[INFO] [stdout] 42 |                     panic!("{}", e);
[INFO] [stdout]    |                            ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 42 |                     std::panic::panic_any(e);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> examples/compress.rs:51:40
[INFO] [stdout]    |
[INFO] [stdout] 51 | ...                   panic!(e)
[INFO] [stdout]    |                              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]    |
[INFO] [stdout] 51 |                                 panic!("{}", e)
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 51 |                                 std::panic::panic_any(e)
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> examples/compress.rs:57:42
[INFO] [stdout]    |
[INFO] [stdout] 57 |                         Err(e) => panic!(e),
[INFO] [stdout]    |                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]    |
[INFO] [stdout] 57 |                         Err(e) => panic!("{}", e),
[INFO] [stdout]    |                                          ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 57 |                         Err(e) => std::panic::panic_any(e),
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/integration_test.rs:71:3
[INFO] [stdout]    |
[INFO] [stdout] 71 |   try!(super::recode(&mut brotli_file,
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bin/divans.rs:103:32
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn cause(&self) -> Option<&error::Error> {None}
[INFO] [stdout]     |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/divans.rs:455:20
[INFO] [stdout]     |
[INFO] [stdout] 455 |         let data = try!(util::literal_slice_to_vec(&s.as_bytes()[command_vec[0].len() + command_vec[1].len() + 2..]));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/divans.rs:457:24
[INFO] [stdout]     |
[INFO] [stdout] 457 |             let prob = try!(util::hex_slice_to_vec(command_vec[3].as_bytes()));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/divans.rs:659:21
[INFO] [stdout]     |
[INFO] [stdout] 659 |                     try!(recode_cmd_buffer(&mut state, ibuffer.split_at(i_read_index).0, w,
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/divans.rs:671:23
[INFO] [stdout]     |
[INFO] [stdout] 671 |                 match try!(command_parse(&line)) {
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bin/divans.rs:718:63
[INFO] [stdout]     |
[INFO] [stdout] 718 | ...                   free_state: &mut Fn(Compressor)->ItemVecAllocator<u8>) -> io::Result<()> {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Compressor)->ItemVecAllocator<u8>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/divans.rs:956:31
[INFO] [stdout]     |
[INFO] [stdout] 956 |                 window_size = try!(window_parse(&line));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/bin/divans.rs:1013:46
[INFO] [stdout]      |
[INFO] [stdout] 1013 |     let mut obuffer = vec![0u8; buffer_size];;
[INFO] [stdout]      |                                              ^ help: remove this semicolon
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:169:43
[INFO] [stdout]     |
[INFO] [stdout] 169 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:329:47
[INFO] [stdout]     |
[INFO] [stdout] 329 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:350:60
[INFO] [stdout]     |
[INFO] [stdout] 350 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:366:47
[INFO] [stdout]     |
[INFO] [stdout] 366 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:377:47
[INFO] [stdout]     |
[INFO] [stdout] 377 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:393:47
[INFO] [stdout]     |
[INFO] [stdout] 393 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:409:47
[INFO] [stdout]     |
[INFO] [stdout] 409 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:416:47
[INFO] [stdout]     |
[INFO] [stdout] 416 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:425:55
[INFO] [stdout]     |
[INFO] [stdout] 425 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:449:51
[INFO] [stdout]     |
[INFO] [stdout] 449 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/bin/integration_test.rs:222:24
[INFO] [stdout]     |
[INFO] [stdout] 222 |         need => panic!(need),
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 222 |         need => panic!("{}", need),
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 222 |         need => std::panic::panic_any(need),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/arithmetic_coder.rs:25:29
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn push_data(&mut self, &[u8]) -> usize;
[INFO] [stdout]    |                             ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &[u8]`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/arithmetic_coder.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn pop_data(&mut self, &mut [u8]) -> usize;
[INFO] [stdout]    |                            ^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut [u8]`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/codec/interface.rs:87:68
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn get_source_copy_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a CopyCommand) -> &'a CopyCommand;
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a Command<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/codec/interface.rs:87:89
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn get_source_copy_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a CopyCommand) -> &'a CopyCommand;
[INFO] [stdout]    |                                                                                         ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a CopyCommand`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/codec/interface.rs:88:79
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn get_source_literal_command<'a, ISlice:SliceWrapper<u8>+Default>(&self, &'a Command<ISlice>,
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a Command<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/codec/interface.rs:89:72
[INFO] [stdout]    |
[INFO] [stdout] 89 | ...                   &'a LiteralCommand<ISlice>) -> &'a LiteralCommand<ISlice>;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a LiteralCommand<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/codec/interface.rs:90:68
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn get_source_dict_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a DictCommand) -> &'a DictCommand;
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a Command<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/codec/interface.rs:90:89
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn get_source_dict_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a DictCommand) -> &'a DictCommand;
[INFO] [stdout]    |                                                                                         ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a DictCommand`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/ans.rs:139:24
[INFO] [stdout]     |
[INFO] [stdout] 139 | const SCALE_MASK:u64 = ((1u64 << LOG2_SCALE) - 1);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reader.rs:24:32
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn cause(&self) -> Option<&error::Error> {None}
[INFO] [stdout]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 258 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:266:5
[INFO] [stdout]     |
[INFO] [stdout] 266 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:268:5
[INFO] [stdout]     |
[INFO] [stdout] 268 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:272:5
[INFO] [stdout]     |
[INFO] [stdout] 272 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:274:5
[INFO] [stdout]     |
[INFO] [stdout] 274 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 276 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:278:5
[INFO] [stdout]     |
[INFO] [stdout] 278 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:280:5
[INFO] [stdout]     |
[INFO] [stdout] 280 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:282:5
[INFO] [stdout]     |
[INFO] [stdout] 282 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 284 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:288:5
[INFO] [stdout]     |
[INFO] [stdout] 288 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:368:5
[INFO] [stdout]     |
[INFO] [stdout] 368 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:386:5
[INFO] [stdout]     |
[INFO] [stdout] 386 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:390:5
[INFO] [stdout]     |
[INFO] [stdout] 390 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:393:5
[INFO] [stdout]     |
[INFO] [stdout] 393 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:405:5
[INFO] [stdout]     |
[INFO] [stdout] 405 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]  --> src/ffi/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[no_mangle]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 4 | use core;
[INFO] [stdout]   | --------- not a function or static
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]  --> src/ffi/interface.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[no_mangle]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 8 | pub type DivansReturnCode = u8;
[INFO] [stdout]   | ------------------------------- not a function or static
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]   --> src/ffi/interface.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 42 |   #[derive(Clone)]
[INFO] [stdout] 43 | / pub struct CAllocator {
[INFO] [stdout] 44 | |     pub alloc_func: Option<extern "C" fn(data: *mut c_void, size: usize) -> *mut c_void>,
[INFO] [stdout] 45 | |     pub free_func: Option<extern "C" fn(data: *mut c_void, ptr: *mut c_void) -> ()>,
[INFO] [stdout] 46 | |     pub opaque: *mut c_void,
[INFO] [stdout] 47 | | }
[INFO] [stdout]    | |_- not a function or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]    --> src/ffi/compressor.rs:267:1
[INFO] [stdout]     |
[INFO] [stdout] 267 |   #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^^^^
[INFO] [stdout] 268 | / pub struct DivansCompressorState {
[INFO] [stdout] 269 | |     pub custom_allocator: CAllocator,
[INFO] [stdout] 270 | |     pub compressor: CompressorState
[INFO] [stdout] 271 | | }
[INFO] [stdout]     | |_- not a function or static
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]   --> src/ffi/decompressor.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout] 9  |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 10 | / pub struct DivansDecompressorState {
[INFO] [stdout] 11 | |     pub custom_allocator: CAllocator,
[INFO] [stdout] 12 | |     pub decompressor: ::DivansDecompressor<<DecompressorFactory as ::DivansDecompressorFactory<SubclassableAllocator<u8>,  SubclassableAl...
[INFO] [stdout] 13 | |                                            SubclassableAllocator<u8>,
[INFO] [stdout] 14 | |                                            SubclassableAllocator<::DefaultCDF16>,
[INFO] [stdout] 15 | |                                            SubclassableAllocator<StaticCommand>>,
[INFO] [stdout] 16 | | }
[INFO] [stdout]    | |_- not a function or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/copy.rs:91:25
[INFO] [stdout]    |
[INFO] [stdout] 91 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:112:25
[INFO] [stdout]     |
[INFO] [stdout] 112 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:145:25
[INFO] [stdout]     |
[INFO] [stdout] 145 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:175:29
[INFO] [stdout]     |
[INFO] [stdout] 175 |                         let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                             ----^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:204:25
[INFO] [stdout]     |
[INFO] [stdout] 204 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:231:25
[INFO] [stdout]     |
[INFO] [stdout] 231 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:250:33
[INFO] [stdout]     |
[INFO] [stdout] 250 | ...                   let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                           ----^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/dict.rs:84:25
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::SizeBegNib, (ctype,));
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:100:25
[INFO] [stdout]     |
[INFO] [stdout] 100 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::SizeLastNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:119:25
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     let mut nibble_prob = superstate.bk.dict_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:139:25
[INFO] [stdout]     |
[INFO] [stdout] 139 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::Transform,
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:150:25
[INFO] [stdout]     |
[INFO] [stdout] 150 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::Transform,
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:294:16
[INFO] [stdout]     |
[INFO] [stdout] 294 |            let mut byte_to_encode_val = specialization.get_literal_byte(in_cmd,
[INFO] [stdout]     |                ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:572:25
[INFO] [stdout]     |
[INFO] [stdout] 572 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:600:25
[INFO] [stdout]     |
[INFO] [stdout] 600 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(LiteralCommandPriorType::SizeBegNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:625:25
[INFO] [stdout]     |
[INFO] [stdout] 625 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(LiteralCommandPriorType::SizeLastNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:640:25
[INFO] [stdout]     |
[INFO] [stdout] 640 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(LiteralCommandPriorType::SizeMantissaNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:707:30
[INFO] [stdout]     |
[INFO] [stdout] 707 |                         Some(mut lc) => {
[INFO] [stdout]     |                              ----^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:174:28
[INFO] [stdout]     |
[INFO] [stdout] 174 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::Only, (0,));
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:195:28
[INFO] [stdout]     |
[INFO] [stdout] 195 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:211:28
[INFO] [stdout]     |
[INFO] [stdout] 211 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:235:24
[INFO] [stdout]     |
[INFO] [stdout] 235 |                    let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::ContextMapSpeedPalette,
[INFO] [stdout]     |                        ----^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:291:28
[INFO] [stdout]     |
[INFO] [stdout] 291 | ...   let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::Mnemonic, (context_map_type as usize,));
[INFO] [stdout]     |           ----^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:320:28
[INFO] [stdout]     |
[INFO] [stdout] 320 |                        let mut out_context_map = match context_map_type {
[INFO] [stdout]     |                            ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:343:24
[INFO] [stdout]     |
[INFO] [stdout] 343 | ...   let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::FirstNibble, (context_map_type as usize,));
[INFO] [stdout]     |           ----^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:363:28
[INFO] [stdout]     |
[INFO] [stdout] 363 | ...   let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::SecondNibble, (context_map_type as usize,));
[INFO] [stdout]     |           ----^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:371:24
[INFO] [stdout]     |
[INFO] [stdout] 371 |                    let mut out_context_map = match context_map_type {
[INFO] [stdout]     |                        ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:395:24
[INFO] [stdout]     |
[INFO] [stdout] 395 |                    let mut prior = if index >= 256 && self.pm.has_context_speeds() {
[INFO] [stdout]     |                        ----^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:401:28
[INFO] [stdout]     |
[INFO] [stdout] 401 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/block_type.rs:72:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::Mnemonic,
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/block_type.rs:88:25
[INFO] [stdout]    |
[INFO] [stdout] 88 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::FirstNibble,
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/block_type.rs:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::SecondNibble,
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/block_type.rs:181:25
[INFO] [stdout]     |
[INFO] [stdout] 181 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::StrideNibble,
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test_ans.rs:215:17
[INFO] [stdout]     |
[INFO] [stdout] 215 |             let mut q = e.get_internal_buffer_mut();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test_ans.rs:237:13
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let mut q = e.get_internal_buffer_mut();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test_ans.rs:317:17
[INFO] [stdout]     |
[INFO] [stdout] 317 |             let mut q = d.get_internal_buffer_mut();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test_ans.rs:338:13
[INFO] [stdout]     |
[INFO] [stdout] 338 |         let mut q = d.get_internal_buffer_mut();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test_ans.rs:380:17
[INFO] [stdout]     |
[INFO] [stdout] 380 |             let mut q = e.get_internal_buffer_mut();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test_ans.rs:443:17
[INFO] [stdout]     |
[INFO] [stdout] 443 |             let mut q = d.get_internal_buffer_mut();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ir_optimize/mod.rs:198:21
[INFO] [stdout]     |
[INFO] [stdout] 198 |                 let mut should_merge = match should_merge(lit, copy, index, mb, &mut actuary, &mut distance_cache) {
[INFO] [stdout]     |                     ----^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mux.rs:463:20
[INFO] [stdout]     |
[INFO] [stdout] 463 |                let mut is_lagging = max_flush  > MAX_FLUSH_VARIANCE + self.last_flush[index];
[INFO] [stdout]     |                    ----^^^^^^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added.
[INFO] [stdout]   --> src/probability/numeric.rs:78:23
[INFO] [stdout]    |
[INFO] [stdout] 78 |         for n in nums.into_iter() {
[INFO] [stdout]    |                       ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #66145 <https://github.com/rust-lang/rust/issues/66145>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added.
[INFO] [stdout]   --> src/probability/numeric.rs:79:29
[INFO] [stdout]    |
[INFO] [stdout] 79 |             for d in denoms.into_iter() {
[INFO] [stdout]    |                             ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #66145 <https://github.com/rust-lang/rust/issues/66145>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/brotli_ir_gen.rs:131:16
[INFO] [stdout]     |
[INFO] [stdout] 131 |         panic!(m)
[INFO] [stdout]     |                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 131 |         panic!("{}", m)
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 131 |         std::panic::panic_any(m)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/reader.rs:401:32
[INFO] [stdout]     |
[INFO] [stdout] 401 |                         panic!(e)
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 401 |                         panic!("{}", e)
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 401 |                         std::panic::panic_any(e)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/reader.rs:431:38
[INFO] [stdout]     |
[INFO] [stdout] 431 |                     Err(e) => panic!(e),
[INFO] [stdout]     |                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 431 |                     Err(e) => panic!("{}", e),
[INFO] [stdout]     |                                      ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 431 |                     Err(e) => std::panic::panic_any(e),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/writer.rs:364:38
[INFO] [stdout]     |
[INFO] [stdout] 364 |                     Err(e) => panic!(e),
[INFO] [stdout]     |                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 364 |                     Err(e) => panic!("{}", e),
[INFO] [stdout]     |                                      ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 364 |                     Err(e) => std::panic::panic_any(e),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/writer.rs:374:25
[INFO] [stdout]     |
[INFO] [stdout] 374 |                  panic!(e);
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 374 |                  panic!("{}", e);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 374 |                  std::panic::panic_any(e);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/writer.rs:399:38
[INFO] [stdout]     |
[INFO] [stdout] 399 |                     Err(e) => panic!(e),
[INFO] [stdout]     |                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 399 |                     Err(e) => panic!("{}", e),
[INFO] [stdout]     |                                      ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 399 |                     Err(e) => std::panic::panic_any(e),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/writer.rs:409:25
[INFO] [stdout]     |
[INFO] [stdout] 409 |                  panic!(e);
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 409 |                  panic!("{}", e);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 409 |                  std::panic::panic_any(e);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/divans_decompressor.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 282 | /         core::mem::replace(self,
[INFO] [stdout] 283 | |                            DivansDecompressor::Decode(
[INFO] [stdout] 284 | |                                DivansProcess::<DefaultDecoder, AllocU8, AllocCDF16, AllocCommand> {
[INFO] [stdout] 285 | |                                    codec:Some(codec),
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |                                    mcommand:mcommand,
[INFO] [stdout] 289 | |                                }));
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ir_optimize/mod.rs:205:21
[INFO] [stdout]     |
[INFO] [stdout] 205 |                     core::mem::replace(copy, CopyCommand::nop());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ir_optimize/mod.rs:219:21
[INFO] [stdout]     |
[INFO] [stdout] 219 |                     core::mem::replace(&mut item_a[0], Command::Copy(CopyCommand::nop())); // replace with a copy
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ffi/compressor.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 | /                 core::mem::replace(self,
[INFO] [stdout] 177 | |                                    CompressorState::InternalCompressor(
[INFO] [stdout] 178 | |                                        InternalCompressorFactory::new(
[INFO] [stdout] 179 | |                                            SubclassableAllocator::<u8>::new(allocators.clone()),
[INFO] [stdout] ...   |
[INFO] [stdout] 182 | |                                            opts,
[INFO] [stdout] 183 | |                                            ())));
[INFO] [stdout]     | |_________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ffi/compressor.rs:186:17
[INFO] [stdout]     |
[INFO] [stdout] 186 | /                 core::mem::replace(self,
[INFO] [stdout] 187 | |                                    CompressorState::BrotliCompressor(
[INFO] [stdout] 188 | |                                        BrotliFactory::new(
[INFO] [stdout] 189 | |                                            SubclassableAllocator::<u8>::new(allocators.clone()),
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | |                                                SubclassableAllocator::<brotli::enc::StaticCommand>::new(allocators.clone()),
[INFO] [stdout] 210 | |                                            ))));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 20 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 103 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 59.51s
[INFO] running `Command { std: "docker" "inspect" "84b90e1f1407d80654e2bd579876abe75f945e73d4f1e49eee428141ea643a8d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "84b90e1f1407d80654e2bd579876abe75f945e73d4f1e49eee428141ea643a8d", kill_on_drop: false }`
[INFO] [stdout] 84b90e1f1407d80654e2bd579876abe75f945e73d4f1e49eee428141ea643a8d
